import r from './axios'
import qs from 'qs'

/**
 * 登录
 * @param data
 * username 用户名
 * password 密码
 */
export function userLogin(data: {
    username: any,
    password: any,
    loginType:any
}|any) {
    data['loginType'] = 'admin'
    return r.post('/api/user/login', data)
}

/**
 * 注册
 * @param data
 * username 用户名
 * password 密码
 * confirmPassword 确认密码
 */
export function userRegister(data: {
    username: any,
    password: any,
    confirmPassword: any,
    role: 'ADMIN' | ''
}) {
    data.role = 'ADMIN'
    return r.post('/api/user/register', data)
}

/**
 * 修改密码
 * @param data
 * oldPwd 原密码
 * newPwd 新密码
 * confirmPwd 确认新密码
 */
export function userReset(data: {
    oldPwd: any,
    newPwd: any,
    confirmPwd: any
}) {
    return r.post('/api/user/reset', data)
}

/**
 * 分页查询鲜花信息
 * @param params
 * page 页码
 * size 页大小
 * keyword 关键字
 */
export function adminProduct(params: {
    page: Number,
    size: Number,
    keyword: any
}) {
    return r.get('/api/admin/product', {params})
}

/**
 * 修改鲜花信息状态
 * @param id 鲜花信息id
 */
export function productStatus(id: string) {
    return r.get('/api/admin/product/status/' + id)
}

/**
 * 删除鲜花信息
 * @param params ID数组
 */
export function deleteAdminProduct(params: any) {
    return r.delete('/api/admin/product', {
        params: {ids: params},
        paramsSerializer: function (params) {
            return qs.stringify(params, {arrayFormat: 'repeat'})
        }
    })
}

/**
 * 根据ID查询鲜花信息
 * @param id 鲜花ID
 */
export function getProduct(id: any) {
    return r.get(`/api/admin/product/${id}`)
}

/**
 * 修改商品信息
 * @param params
 */
export function putProduct(params: any) {
    return r.put('/api/admin/product', params)
}

/**
 * 添加商品信息
 * @param params
 */
export function postProduct(params: any) {
    return r.post('/api/admin/product', params)
}

/**
 * 查询所有文章
 * @param params
 * page 页码
 * size 页大小
 * keyword 文章标题
 */
export function getArticle(params: { page: Number, size: Number, title: any }) {
    return r.get('/api/admin/article', {params})
}

/**
 * 删除鲜花资讯
 * @param params ID数组
 */
export function deleteArticle(params: any) {
    return r.delete('/api/admin/article', {
        params: {ids: params},
        paramsSerializer: function (params) {
            return qs.stringify(params, {arrayFormat: 'repeat'})
        }
    })
}


/**
 * 修改鲜花资讯状态
 * @param id 鲜花资讯id
 */
export function putUpArticle(id: string) {
    return r.put('/api/admin/article/status', {id})
}

/**
 * 根据ID查询鲜花信息
 * @param id 鲜花ID
 */
export function getByIdArticle(id: any) {
    return r.get(`/api/admin/article/${id}`)
}

/**
 * 添加鲜花文章信息
 * @param params
 */
export function postArticle(params: any) {
    return r.post('/api/admin/article', params)
}

/**
 * 修改鲜花文章信息
 * @param params
 */
export function putArticle(params: any) {
    return r.put('/api/admin/article', params)
}

/**
 * 获取订单列表
 * @param params
 */
export function getOrder(params: any) {
    return r.get('/api/admin/order', {params})
}

/**
 * 根据ID查询订单详情
 * @param id ID
 */
export function getByIdOrderDetail(id: any) {
    return r.get(`/api/admin/order/detail/${id}`)
}

/**
 * 处理退款
 * @param data
 */
export function postRefundOrder(data: any) {
    return r.post('/api/admin/order', data)
}

/**
 * 获取用户信息
 * @param params
 */
export function getUserInfo(params:any) {
    return r.get('/api/admin/user',{params})
}

/**
 * 修改用户状态
 * @param userId
 */
export function putByIdUpuUserStatus(userId:any) {
    return r.put(`/api/admin/user/status/${userId}`)
}

/**
 * 批量删除用户
 * @param params
 */
export function deleteByIdListUser(params:any) {
    return r.delete('/api/admin/user',{params: {ids: params},
        paramsSerializer: function (params) {
            return qs.stringify(params, {arrayFormat: 'repeat'})
        }})
}

export function deil(orderId:any) {
    return r.post('/api/admin/order/deliver',{orderId})
}

export function chatSendApi(data: any) {
    return r.post('/api/chat/send', data)
}